<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>resolve中改变状态和than执行顺序</title>
</head>
<body>
<script>
    /**
     *1.当执行器函数的内容是一个同步任务直接调用resolve/reject时,先改变状态,再指定then回调函数
     *  先改变状态,当指定回调函数时,回调函数就会被调用,得到数据
     *
     */
    let p=new Promise(
    (resolve,reject)=>{
        resolve('ok')
    })

    p.then(value => {
        console.log(value)
    },reason => {
        console.log(reason)
    })


    /**
     *2.当执行器函数的内容是一个异步任务时,先指定then回调函数,再改变状态
     *  先指定回调函数,当状态发生改变的时候,回调函数就会调用,得到数据
     */
    let p1=new Promise(
        (resolve,reject)=>{
            setTimeout(()=>{resolve('ok')},5000)

        })

    p1.then(value => {
        console.log(value)
    },reason => {
        console.log(reason)
    })
</script>
</body>
</html>